Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Багатопоточність

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт
Предмет:
Операційні системи
Група:
ПІ

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 3 На тему: “ Багатопоточність ” З дисципліни : " Операційн системи" Лектор: Доц. каф. ПЗ Яковина В.С. Львів – 2008 Мета роботи: Ознайомитися із реалізацією багатозадачності за допомогою потоків у сімействі операційних систем Microsoft на прикладі Windows NT5 (ядро 5.X). Освоїти роботу із потоками. Теоретичні відомості Багатопоточність (англ. multi-threading) — властивість операційної системи полягає в тому що процес, породжений в операційній системі, може складатися з кількох потоків, що виконуються паралельно, або навіть одночасно на багатопроцесорних системах. При виконанні деяких завдань таке розділення може досягти ефективнішого використання ресурсів ПК. Основою багато поточності є квазі-багатозадачність на рівні одного виконуваного процесу, тобто усі потоки виконуються в адресному просторі одного батька процесу. Окрім цього, усі потоки процесу мають не тільки спільний адресний простір, але і спільні дескриптори файлів. Процес, що виконується, має як мінімум один первиний потік. Тобто програмний код не виконується у процесі він виконується у потоці, а процес в даному випадку краще розглядати як контейнер потоків. Багатопоточність (як метод програмування) не слід плутати ні з багатозадачністю, ані з багато-процесорністю, не зважаючи на те, що операційні системи, що реалізовують багатозадачність, як правило реалізують і багато поточність. Переваги в багато поточності такі: Спрощення програми в деяких випадках, за рахунок використання загального адресного простору Менші відносно процесу часові витрати на створення потоку і взаємодію між ними Підвищення продуктивності процесу за рахунок розпаралелювання процесорних обчислень і операцій вводу/виводу С++   using namespace System; using namespace System::Threading; ref class Work { public: static void DoWork() { Console::WriteLine( "Static thread procedure." ); } int Data; void DoMoreWork() { Console::WriteLine( "Instance thread procedure. Data={0}", Data ); } }; int main() { Work^ w = gcnew Work; w->Data = 42; ThreadStart^ threadDelegate = gcnew ThreadStart( w, &Work::DoMoreWork ); Thread^ newThread = gcnew Thread( threadDelegate ); newThread->Start(); threadDelegate = gcnew ThreadStart( &Work::DoWork ); newThread = gcnew Thread( threadDelegate ); newThread->Start(); }   Індивідуальне завдання Написати програму із двома потоками які одночасно здійснюють вивід тексту на екран (бажано щоб перший потік виводив одиночний символ «Х», другий потік виводив символ крапка «.»). Код програми Назва файлу: Lab03.cpp // Lab03.cpp : main project file. #include "stdafx.h" using namespace System; using namespace System::Threading; void ShowPoint(); int main(array<System::String ^> ^args) { Thread^ t = gcnew Thread(gcnew ThreadStart(ShowPoint)); t->Start(); while(true) Console::Write(L"X"); return 0; } void ShowPoint() { while(true) Console::Write(L"."); } Результат виконання Результатом виконання є паралельне виконання двох потоків у одному процесі. Як бачимо кожному з них виділяється певний квант часу процесора і тоді процесор виконує інструкцію виводу у консоль відповідного символу. На рис. 2. представлено результати виконання програми. Також деревовидну структуру запуску процесу.  Рис. 2. Результат виконання програми Висновок На лабораторній роботі було розглянуто та досліджено: виконання, створення, і породження потоків, ознайомились із підходами програмування на рівні Microsoft framework .NET. Також було виконано індивідуальне завдання, і більш детально на практиці розглянуто роботу багато поточності.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини